//二进制申明--数字加前缀0b
//数字由0和1组成
console.log('十进制',10)
console.log('二进制',0b10) //b=>(binary:二元的)
console.log('-------------------') 
//八进制申明--数字加前缀0o
//数字由0-7组成
console.log('八进制',0o777)  //o=>octal 
console.log('-------------------')
//转换为数字
//Nunber() parseInt() parseFloat()
console.log(Number.parseInt('1.5'))  //ES6将此方法挂到了Number对象上
console.log(Number.parseFloat('1.5'))  //ES6将此方法挂到了Number对象上
console.log('-------------------')
//判断是否为数字
console.log(typeof 0o777 == 'number')
console.log(Number.isFinite(0o777))   //ES6(Finite-有限的),此方法在Number对象上
console.log(Number.isFinite('0o777'))   //false
console.log(Number.isFinite(-5))   //true
console.log(Number.isFinite(.5))   //true
console.log('-------------------')
//判断是否非数字
console.log(isNaN(0o777),isNaN(NaN))
console.log(Number.isNaN(0o777))   //ES6将此方法挂到了Number对象上
console.log('-------------------')
//判断是否是整数
console.log(11.5===parseInt(11.5))  //false
console.log(Number.isInteger(11.5))  //ES6(Integer-整数)
console.log(Number.isInteger(11))  //ES6(Integer-整数)
console.log('-------------------')
//安全整数(-(2**53-1)~(2**53-1))
console.log(2**53-1)   //ES7--2的53次方减一--安全整数(几次方用两个*表示)
console.log(Number.MAX_SAFE_INTEGER)  //(2**53-1)---(MAX_SAFE_INTEGER获取安全整数)
console.log(Number.MIN_SAFE_INTEGER)  //-(2**53-1)
console.log(Number.isSafeInteger(2**53))   //false判断是否安全整数isSafeInteger()
console.log(Number.isSafeInteger(2**53-1))   //true
console.log('-------------------')
//Math对象
//常用的Math方法：
//绝对值Math.abs(x)
//向上取整Math.ceil(x)、向下取整Math.floor(x)
//xy取大值Math.max(x,y)、xy取小值Math.min(x,y)
//0-1随机数Math.random()	
//四舍五入Math.round(x),类似于4.555.toFixed(1)--四舍五入到几位小数
//ES6新增方法：trunc(x)、sign(x)
//trunc(x) truncation-截断相当于保留整数
console.log(Math.trunc(4.555))  //4
//sign(x)判断正负数  正数返回1负数返回-1 如果是0返回0  其他值返回NaN
console.log(Math.sign(4),Math.sign(-999),Math.sign(0),Math.sign('xxx')) // 1 -1 0 NaN
